﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Microsoft.Reporting.WebForms;
using SuperStar.Models;

namespace SuperStar.Areas.Admincp.Controllers
{
     [Authorize(Roles = "Administrator")]
    public class ReportController : Controller
    {
        private readonly BillModels _billModels = new BillModels();
        private readonly StatusSellingModels _statusSellingModels = new StatusSellingModels();

  
        public ActionResult BillReport()
        {
            var listMonths = new Dictionary<int, string>
                                 {
                                     {1, "1 tháng trước"},
                                     {2, "2 tháng trước"},
                                     {3, "3 tháng trước"},
                                     {6, "6 tháng trước"},
                                     {12, "1 năm trước"},
                                     {120, "Tất cả"}
                                 };
            var listStatus = _statusSellingModels.GetStatus();
            var month = Request.Params["month"] != null ?
                    Convert.ToInt32(Request.Params["month"]) : 6;

            var status = Request.Params["status"] != null ?
                    Convert.ToInt32(Request.Params["status"]) : listStatus[0].Id;
            ViewData["listMonths"] = listMonths;
            ViewData["listStatus"] = listStatus;
            ViewData["status"] = status;
            ViewData["month"]  = month;
            ViewData["report_url"] = "~/Reports/BillReport.rdlc";
            var datasource = new ReportDataSource("BillReport", _billModels.GetBillsForReport(month, status));
            ViewData["datasource"] = datasource;
            return View();
        }
    }
}
